An embedded system may comprise a unit included within a larger system, where the larger system may be a computational system, a mechanical system, an electrical system, etc. In many situations, the embedded system many perform dedicated functions within the larger system. The embedded system may be a part of a device and may be dedicated to perform a specific task faster than other units of the larger system.
Certain embedded systems may include a hardware acceleration block and one or more cores that interface with the hardware acceleration block. The hardware acceleration block may be designed to perform dedicated functions by interfacing with the one or more cores. Many operations, such as encryption, decryption, compression, decompression, encoding, decoding, error correction, etc., may require significant processor cycles or significant resources to complete. Such operations may be offloaded to the hardware acceleration block for execution.